Move linksets to an other link module

Hi All,

We were so careless, that we did not define link modules, because we were creating modules every day during the project initialization and it was easier to use the default link module. Now we have 500 component requirement modules in the same directory and each takes 30-40 seconds to open because of the common linkset. (Advice to everyone: never ever commit the same mistake : ) )

Now I have to tidy the structure. I decided to group the modules by 10-20 and have one link module for each group. Is it the right strategy or it's better to have one link module for each?

My main question: how can I move the linkset from one link module to an other? I found a Link Editor tool here:

https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014489539

But I cannot download the zip file because of an error on the DeveloperWorks page.

Mathias, can you re-attach it? Or do you know a better solution for my problem?

Thank You!

Gabor


GaborMoizes - Wed Oct 09 09:32:57 EDT 2013

Re: Move linksets to an other link module
llandale - Wed Oct 09 14:02:38 EDT 2013

If you have only one "DOORS Links" module, then move it where you want and rename it.  But you will need to setup Link Set Pairings to make sure future links go in there.

Are you SURE the load delay is because this module's link-set is in a link module with 500 other link sets?  We have exactly one link-module for each kind of relationship and are seeing no special delay, the main link module has 1000 link sets.

A slow open could easily be due to the default view with complicated Layouts or Attr-DXL showing.  Try opening the Standard vlew with DXL:

  • read("MyComponentModule003", true, true)

A link-module for each formal is a disaster.

- Louie

IMO it is better for you to decide "kinds of relationship" allowed between objects in Real-World Terms, and THEN go about Linking them.  So if a Component object can "Satisfy" an Element requirement then you would create some form of "Satisfy" link module and make sure those links are therein.

Re: Move linksets to an other link module
GaborMoizes - Thu Oct 10 05:08:36 EDT 2013

llandale - Wed Oct 09 14:02:38 EDT 2013

If you have only one "DOORS Links" module, then move it where you want and rename it.  But you will need to setup Link Set Pairings to make sure future links go in there.

Are you SURE the load delay is because this module's link-set is in a link module with 500 other link sets?  We have exactly one link-module for each kind of relationship and are seeing no special delay, the main link module has 1000 link sets.

A slow open could easily be due to the default view with complicated Layouts or Attr-DXL showing.  Try opening the Standard vlew with DXL:

  • read("MyComponentModule003", true, true)

A link-module for each formal is a disaster.

- Louie

IMO it is better for you to decide "kinds of relationship" allowed between objects in Real-World Terms, and THEN go about Linking them.  So if a Component object can "Satisfy" an Element requirement then you would create some form of "Satisfy" link module and make sure those links are therein.

Hi Louie,

Let me show you my measurements why I came to the conclusion that the root cause is the link module which contains a lot of linksets:

Module: 165 objects with OLE's, current.ver directory occupies 520 kilobytes on the disk.

Step 1: Original state
read(sModuleName, false, true)
Opened in 32 s
read(sModuleName, true, true)
Opened in 33 s
read(sModuleName, false, false)
Opened in 32 s

Step 2: After deleting all views
read(sModuleName, false, true)
Opened in 32 s

Step 3: After deleting all user-defined attributes and types
read(sModuleName, false, true)
Opened in 33 s

Step 4: After deleting all links (396 links)
read(sModuleName, false, true)
Opened in 1 s

Step 5: After creating 1 link using the default link module (it contains ~2000 linksets)
read(sModuleName, false, true)
Opened in 15 s

Step 6: After deleting that link and creating an other one using an other (new) link module
read(sModuleName, false, true)
Opened in 1 s
 

Re: Move linksets to an other link module
llandale - Thu Oct 10 10:05:07 EDT 2013

GaborMoizes - Thu Oct 10 05:08:36 EDT 2013

Hi Louie,

Let me show you my measurements why I came to the conclusion that the root cause is the link module which contains a lot of linksets:

Module: 165 objects with OLE's, current.ver directory occupies 520 kilobytes on the disk.

Step 1: Original state
read(sModuleName, false, true)
Opened in 32 s
read(sModuleName, true, true)
Opened in 33 s
read(sModuleName, false, false)
Opened in 32 s

Step 2: After deleting all views
read(sModuleName, false, true)
Opened in 32 s

Step 3: After deleting all user-defined attributes and types
read(sModuleName, false, true)
Opened in 33 s

Step 4: After deleting all links (396 links)
read(sModuleName, false, true)
Opened in 1 s

Step 5: After creating 1 link using the default link module (it contains ~2000 linksets)
read(sModuleName, false, true)
Opened in 15 s

Step 6: After deleting that link and creating an other one using an other (new) link module
read(sModuleName, false, true)
Opened in 1 s
 

Wow.

Am looking at one Link Module right now with 500 link sets, and it opens in about 1 second.  However, all the LinkSets have the same target.

I wonder if this has to do with Module Properties.  I notice that Module Properties load very fast for some modules, and extremely slowly for others.

Not sure what to tell you about this, sorry.

-Louie

Re: Move linksets to an other link module
GaborMoizes - Thu Oct 10 10:19:08 EDT 2013

llandale - Thu Oct 10 10:05:07 EDT 2013

Wow.

Am looking at one Link Module right now with 500 link sets, and it opens in about 1 second.  However, all the LinkSets have the same target.

I wonder if this has to do with Module Properties.  I notice that Module Properties load very fast for some modules, and extremely slowly for others.

Not sure what to tell you about this, sorry.

-Louie

Thank you, anyway.

Then let's go back to my original question: is there an easy way to move link sets from one link module to an other? I would group my modules in folders and would have one link module for each group. I saw a Link Editor tool in an other topic, but the attachment is not working. I would give it a try.

I know an algorithm:
Loop through the modules in the folder
  Loop through the objects in the module
    Loop through the links in the object
      Delete the link which uses the old link module
      Recreate the link using the new link module

Is it an easier way? Or is there already a tool for this?

Regards:

Gabor

Re: Move linksets to an other link module
llandale - Thu Oct 10 12:37:36 EDT 2013

GaborMoizes - Thu Oct 10 10:19:08 EDT 2013

Thank you, anyway.

Then let's go back to my original question: is there an easy way to move link sets from one link module to an other? I would group my modules in folders and would have one link module for each group. I saw a Link Editor tool in an other topic, but the attachment is not working. I would give it a try.

I know an algorithm:
Loop through the modules in the folder
  Loop through the objects in the module
    Loop through the links in the object
      Delete the link which uses the old link module
      Recreate the link using the new link module

Is it an easier way? Or is there already a tool for this?

Regards:

Gabor

Yes, recreating each link is the only way I know of.  You may want to only delete the old link when you verify the new one actually exists.  Or you could make sure there are two of each links, then simply delete the link set.

-Louie